#ifndef __BSP_LED_H
#define __BSP_LED_H

#include "stm32f10x.h"
#define LED_BLU_GPIO_PIN   GPIO_Pin_13
#define LED_BLU_GPIO_PORT  GPIOC
#define LED_BLU_GPIO_CLK   RCC_APB2Periph_GPIOC

#define LED_RED_GPIO_PIN   GPIO_Pin_15
#define LED_RED_GPIO_PORT  GPIOC
#define LED_RED_GPIO_CLK   RCC_APB2Periph_GPIOC

#define LED_GRE_GPIO_PIN   GPIO_Pin_14
#define LED_GRE_GPIO_PORT  GPIOC
#define LED_GRE_GPIO_CLK   RCC_APB2Periph_GPIOC

#define LED_WHI_GPIO_PIN   GPIO_Pin_6
#define LED_WHI_GPIO_PORT  GPIOB
#define LED_WHI_GPIO_CLK   RCC_APB2Periph_GPIOB

#define LED_BLU_ON() GPIO_ResetBits(LED_BLU_GPIO_PORT,LED_BLU_GPIO_PIN)
#define LED_BLU_OFF() GPIO_SetBits(LED_BLU_GPIO_PORT,LED_BLU_GPIO_PIN)

#define LED_RED_OFF() GPIO_ResetBits(LED_RED_GPIO_PORT,LED_RED_GPIO_PIN)
#define LED_RED_ON() GPIO_SetBits(LED_RED_GPIO_PORT,LED_RED_GPIO_PIN)

#define LED_GRE_OFF() GPIO_ResetBits(LED_GRE_GPIO_PORT,LED_GRE_GPIO_PIN)
#define LED_GRE_ON() GPIO_SetBits(LED_GRE_GPIO_PORT,LED_GRE_GPIO_PIN)

#define LED_WHI_ON() GPIO_ResetBits(LED_WHI_GPIO_PORT,LED_WHI_GPIO_PIN)
#define LED_WHI_OFF() GPIO_SetBits(LED_WHI_GPIO_PORT,LED_WHI_GPIO_PIN)

void LED_GPIO_Config(void);
void LED_Task(void); 

void LED_Set(uint8_t led, uint8_t state); 
void LED_Task_2(uint8_t led_clo, uint8_t freq);
void LED_Task_3(uint8_t led, uint8_t freq);
void LED_Task_3(uint8_t led, uint8_t freq);

#endif
